Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Fix stack trace population to get proper source/line info for tier 1 methods #16302

Merged
merged 1 commit into from
Feb 12, 2018

Conversation

kouvel
Copy link
Member

@kouvel kouvel commented Feb 9, 2018

@kouvel kouvel added this to the 2.1.0 milestone Feb 9, 2018
@kouvel kouvel self-assigned this Feb 9, 2018
@kouvel kouvel requested a review from noahfalk February 9, 2018 18:43
Copy link
Member

@noahfalk noahfalk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. My only suggestion if you haven't already done it is to confirm we haven't regressed stack trace performance by manually running a micro-benchmark such as microsoft/dotnet#529.

I'm not anticipating you will find any issue but just want to do the due diligence.

@kouvel
Copy link
Member Author

kouvel commented Feb 10, 2018

In that test case I'm seeing a regression at steady-state (operations per ms):

No tiering:
Baseline - 4.42
Changed - 4.28

Tiering:
Baseline: 4.28
Changed: 4.23

If this is significant I can look into how to reduce the regression.

@kouvel
Copy link
Member Author

kouvel commented Feb 10, 2018

The error on those numbers is pretty high but the difference is significant

@kouvel
Copy link
Member Author

kouvel commented Feb 10, 2018

I said significant twice with different meaning, I meant to say that there is definitely a repeatably measurable gap but I'm not sure if the gap is large enough to look into further.?

@kouvel
Copy link
Member Author

kouvel commented Feb 10, 2018

@dotnet-bot test Tizen armel Cross Checked Innerloop Build and Test

@kouvel
Copy link
Member Author

kouvel commented Feb 11, 2018

From a few profiles the gap might be due to getting the method start address. We can either do that lazily like now, or get it at the same time the MethodDesc is looked up and store it, I'm not sure if the latter would negatively affect other perf scenarios.

@noahfalk
Copy link
Member

noahfalk commented Feb 12, 2018

I don't think 1-3% on this microbenchmark is worth fretting over. My imagination would be worst case someone complains about it and we look into it, but even there it would be in the context that something is running just slightly slower and it would be nice to speed it up. In 529 the regression was significant enough (2500%) that it blocked customers from reasonably performing the same tasks.

@noahfalk noahfalk merged commit ce06041 into dotnet:master Feb 12, 2018
@kouvel kouvel deleted the TierFix branch February 16, 2018 20:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants